- page_title "个人访问令牌"
= render 'profiles/head'

.row.prepend-top-default
  .col-lg-3.profile-settings-sidebar
    %h4.prepend-top-0
      = page_title
    %p
      您可以为需要访问GitLab API的每个应用程序生成个人访问令牌。
  .col-lg-9

    - if flash[:personal_access_token]
      .created-personal-access-token-container
        %h5.prepend-top-0
          你的新个人访问令牌
        .form-group
          = text_field_tag 'created-personal-access-token', flash[:personal_access_token], readonly: true, class: "form-control", 'aria-describedby' => "created-personal-access-token-help-block"
          = clipboard_button(clipboard_text: flash[:personal_access_token])
          %span#created-personal-access-token-help-block.help-block.text-danger 请确保您已经保存好令牌(该令牌将不再显示)。

      %hr

    %h5.prepend-top-0
      增加新的个人令牌
    %p.profile-settings-content
      为应用程序选择一个名称，我们会为您提供一个唯一的令牌。
    = form_for [:profile, @personal_access_token],
                method: :post, html: { class: 'js-requires-input' } do |f|

      = form_errors(@personal_access_token)

      .form-group
        = f.label :name, '名称', class: 'label-light'
        = f.text_field :name, class: "form-control", required: true

      .form-group
        = f.label :expires_at, '有效期限', class: 'label-light'
        = f.text_field :expires_at, class: "datepicker form-control", required: false

      .prepend-top-default
        = f.submit '创建个人访问令牌', class: "btn btn-create"

    %hr

    %h5 已激活的个人访问令牌 (#{@active_personal_access_tokens.length})

    - if @active_personal_access_tokens.present?
      .table-responsive
        %table.table.active-personal-access-tokens
          %thead
            %tr
              %th 名称
              %th 创建时间
              %th 有效期限
              %th
          %tbody
            - @active_personal_access_tokens.each do |token|
              %tr
                %td= token.name
                %td= token.created_at.to_date.to_s(:medium)
                %td
                  - if token.expires_at.present?
                    = token.expires_at.to_date.to_s(:medium)
                  - else
                    %span.personal-access-tokens-never-expires-label Never
                %td= link_to "撤销", revoke_profile_personal_access_token_path(token), method: :put, class: "btn btn-danger pull-right", data: { confirm: "您确定要撤销此令牌吗？此操作无法撤消。" }

    - else
      .settings-message.text-center
        您还没有任何有效的令牌。

    %hr

    %h5 未激活的个人访问令牌 (#{@inactive_personal_access_tokens.length})

    - if @inactive_personal_access_tokens.present?
      .table-responsive
        %table.table.inactive-personal-access-tokens
          %thead
            %tr
              %th 名称
              %th 创建时间
          %tbody
            - @inactive_personal_access_tokens.each do |token|
              %tr
                %td= token.name
                %td= token.created_at.to_date.to_s(:medium)

    - else
      .settings-message.text-center
        没有未激活的令牌。


:javascript
  var date = $('#personal_access_token_expires_at').val();

  var datepicker = $(".datepicker").datepicker({
    dateFormat: "yy-mm-dd",
    minDate: 0
  });

  $("#created-personal-access-token").click(function() {
    this.select();
  });

  $("#created-personal-access-token").effect('highlight', { color: '#ffff99' }, 2000);
